#ifndef TOUCHBUTTON_H
#define TOUCHBUTTON_H

#include <QWidget>
#include <QPushButton>
#include <QEvent>

class TouchButton : public QWidget, QPushButton
{
    Q_OBJECT

public:

    TouchButton(QWidget *parent = 0);

    //返回是否触发了触屏事件
    bool touchState() const;

private:

    //事件过滤器
    bool event(QEvent* e);

    //触屏开始处理事件
    bool touchBeginEventProcess(QEvent *event);

    //触屏更新事件
    bool touchUpdateEventProcess(QEvent *event);

    //触屏结束事件
    bool touchEndEventProcess(QEvent* event);

private:

    //触屏标志，防止触发鼠标按下事件(触屏结束时会触发鼠标按下和释放事件)
    bool m_touchState = false;

};

#endif // TOUCHBUTTON_H
